Dip seismic attributes

ABSTRACT

A method can include receiving a request for a dip value for a location within a sub-surface volume; responsive to the request, locating complimentary dip values for locations within the sub-surface volume where the location for the requested dip value lies within bounds defined by the locations for the complimentary dips values; and interpolating a value for the requested dip value based on the complimentary dip values. Various other apparatuses, systems, methods, etc., are also disclosed.

BACKGROUND

Seismic interpretation is a process that may examine seismic data (e.g.,with respect to location and time or depth) in an effort to identifysubsurface structures (e.g., horizons, faults, geobodies, etc.).Structures may be, for example, stratigraphic formations indicative ofhydrocarbon traps or flow channels. In the field of resource extraction,enhancements to seismic interpretation can increase accuracy of a modelof a geologic environment, which, in turn, may improve seismic volumeanalysis for purposes of resource extraction. Various techniquesdescribed herein pertain to processing of seismic data, for example, foranalysis of such data (e.g., for identifying structures in a geologicenvironment).

SUMMARY

A method can include receiving a request for a dip value for a locationwithin a sub-surface volume; responsive to the request, locatingcomplimentary dip values for locations within the sub-surface volumewhere the location for the requested dip value lies within boundsdefined by the locations for the complimentary dips values; andinterpolating a value for the requested dip value based on thecomplimentary dip values. In such a method, where the requested dipvalue is a value for a positive dip, the complimentary dip values may befor negative dips and, where the requested dip value is a value for anegative dip, the complimentary dip values may be for positive dips. Asystem can include one or more processors, memory and instructions toinstruct the system to, responsive to a request for a dip value for alocation within a sub-surface volume, locate complimentary dip valuesfor locations within the sub-surface volume where the location for therequested dip value lies within bounds defined by the locations for thecomplimentary dips values and interpolate a value for the requested dipvalue based on the complimentary dip values. Computer-readable storagemedia can include computer-executable instructions to instruct acomputing system to receive estimated dip values determined usingvolumetric seismic data and a dip estimation technique, calculateinterpolated dip values based on the received estimated dip values andrender the interpolated dip values to a display. Various otherapparatuses, systems, methods, etc., are also disclosed.

This summary is provided to introduce a selection of concepts that arefurther described below in the detailed description. This summary is notintended to identify key or essential features of the claimed subjectmatter, nor is it intended to be used as an aid in limiting the scope ofthe claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

Features and advantages of the described implementations can be morereadily understood by reference to the following description taken inconjunction with the accompanying drawings.

FIG. 1 illustrates an example of a system that includes variouscomponents for simulating a geological environment;

FIG. 2 illustrates examples of azimuth and dip angle, data acquisition,a system and geometrical attributes;

FIG. 3 shows an example of a coherence approach to determining dipangle;

FIG. 4 illustrates an example of a Taylor series expansion technique foruse in determining one or more dip seismic attributes;

FIG. 5 illustrates an example of a seismic data, positive dip attributesand negative dip attributes for the seismic data, and an example of amethod

FIG. 6 illustrates an example of a method for determination of a dipseismic attribute;

FIG. 7 illustrates examples of seismic data and various dip seismicattributes;

FIG. 8 illustrates an example of a method for deriving a positive dipseismic attribute from a negative seismic dip attribute;

FIG. 9 illustrates an example of a method for deriving a positive dipseismic attribute from a negative seismic dip attribute;

FIG. 10 illustrates an example of a method for deriving a dip seismicattribute;

FIG. 11 illustrates an example of a method for deriving a dip seismicattribute;

FIG. 12 illustrates an example of a dip seismic attribute;

FIG. 13 illustrates examples of full and reduced data sets for dipseismic attributes, examples of attributes and an example of a method;and

FIG. 14 illustrates example components of a system and a networkedsystem.

DETAILED DESCRIPTION

The following description includes the best mode presently contemplatedfor practicing the described implementations. This description is not tobe taken in a limiting sense, but rather is made merely for the purposeof describing the general principles of the implementations. The scopeof the described implementations should be ascertained with reference tothe issued claims.

Seismic interpretation is a process that involves examining seismic data(e.g., with respect to location and time or depth) to identify one ormore types of subsurface structures (e.g., horizons, faults, geobodies,etc.). When performing seismic interpretation, seismic data may beprovided in the form of traces where, for example, each trace is anamplitude versus time recording of energy emitted by a source that hasinteracted with various subsurface structures. An interpretation processmay involve visual display of seismic data and interaction using one ormore tools (e.g., executable instruction modules stored in memory andexecuted by one or more processors). An interpretation process mayconsider vertical seismic sections, inline and crossline directions,horizontal seismic sections called horizontal time slices, etc. Seismicdata may optionally be interpreted with other data such as, for example,well log data.

As an example, an interpretation process may include accessing seismicdata from a data store (e.g., via a network or other connection).Seismic data may be formatted according to one of the SEG-Y formatstandards (Society of Exploration Geophysicists), the ZGY formatstandard (e.g., a bricked format) or another format. As an example,seismic data may be stored with trace header information, which mayassist in analysis of the seismic data. Seismic data may optionally beaccessed, for example, according to a number of traces (e.g., in aninline, crossline or inline and crossline directions), which may beentire traces or portions thereof (e.g., for one or more particulartimes or depths). As an example, given a number of traces across aregion, a process may access some of those traces in a sub-region byspecifying inline and crossline indexes (e.g., or geographic or gridcoordinates) as well as a time or depth window.

An interpretation process may include determining one or more seismicattributes. A seismic attribute may be considered, for example, a way todescribe, quantify, etc., characteristic content of seismic data. As anexample, a quantified characteristic may be computed, measured, etc.,from seismic data. A seismic attribute may be a rate of change of aquantity (or quantities) with respect to time, space or both time andspace. As an example, a seismic attribute may provide for examination ofseismic data in an amplitude domain, in a time domain, or in anothermanner. As an example, a seismic attribute may be based on anotherseismic attribute (e.g., a second derivative seismic attribute may bebased on a first derivative seismic attribute, etc.).

An interpretation framework may include modules (e.g.,processor-executable instructions stored in memory) to determine one ormore seismic attributes. Seismic attributes may optionally beclassified, for example, as volume attributes or surface attributes. Asan example, a volume attribute may be an attribute computed from aseismic cube and may result in a new seismic cube that includesinformation pertaining to the volume attribute. As an example, a surfaceattribute may be a value associated with a surface of a seismic cubethat includes information pertaining to a volume attribute.

A seismic interpretation may be performed using displayable information,for example, by rendering information to a display device, a projectiondevice, a printing device, etc. As an example, one or more color schemes(e.g., optionally including black and white or greyscale) may bereferenced for displayable information to enhance visual examination ofthe displayable information. A color scheme may include a palette, arange, etc. A look-up-table (LUT) or other data structure, function(e.g., linear or non-linear), etc., may allow for mapping of valuesassociated with one or more seismic attributes to intensity, colors(e.g., RGB, YCbCr, etc.), etc. Where the human eye will be used or isused for viewing displayable information, a display scheme may beselected to enhance interpretation (e.g., to increase contrast, providefor blinking, etc.).

A module for determining one or more seismic attributes may include oneor more parameters. As an example, a module may include one or moreparameters that may be set via a graphic user interface, a specificationfile, etc. In such an example, an interpreter may wish to examine aseismic attribute for seismic data using one or more values of aparameter. As an example, such a module may provide a default value anda field, graphical control, etc., that allows for input of a value otherthan the default value.

As an example, seismic interpretation may be performed using seismic tosimulation software such as the PETREL® seismic to simulation softwareframework (Schlumberger Limited, Houston, Tex.), which includes variousfeatures to perform attribute analyses (e.g., with respect to a 3Dseismic cube, a 2D seismic line, etc.). While the PETREL® seismic tosimulation software framework is mentioned, other types of software,frameworks, etc., may be employed for purposes of attribute analyses.

FIG. 1 shows an example of a system 100 that includes various managementcomponents 110 to manage various aspects of a geologic environment 150(e.g., an environment that includes a sedimentary basin) as well as anexample of a framework 170. In the example of FIG. 1, the components maybe or include one or more modules. As to the management components 110,one or more of these components may allow for direct or indirectmanagement of sensing, drilling, injecting, extracting, etc., withrespect to the geologic environment 150. In turn, further informationabout the geologic environment 150 may become available as feedback 160(e.g., optionally as input to one or more of the management components110).

In the example of FIG. 1, the management components 110 include aseismic data component 112, an additional information component 114(e.g., well/logging data), a processing component 116, a simulationcomponent 120, an attribute component 130, an analysis/visualizationcomponent 142 and a workflow component 144. In operation, seismic dataand other information provided per the components 112 and 114 may beinput to the simulation component 120.

In an example embodiment, the simulation component 120 may rely onentities 122. Entities 122 may include earth entities or geologicalobjects such as wells, surfaces, reservoirs, geobodies, etc. In thesystem 100, the entities 122 can include virtual representations ofactual physical entities that are reconstructed for purposes ofsimulation. The entities 122 may include entities based on data acquiredvia sensing, observation, interpretation, etc. (e.g., the seismic data112 and other information 114).

In an example embodiment, the simulation component 120 may rely on asoftware framework such as an object-based framework. In such aframework, entities may include entities based on pre-defined classes tofacilitate modeling and simulation. A commercially available example ofan object-based framework is the MICROSOFT®.NET™ framework (Redmond,Wash.), which provides a set of extensible object classes. In the .NET™framework, an object class encapsulates a module of reusable code andassociated data structures. Object classes can be used to instantiateobject instances for use in by a program, script, etc. For example,borehole classes may define objects for representing boreholes based onwell data, geobody classes may define objects for representing geobodiesbased on seismic data, etc. As an example, an interpretation processthat includes generation of one or more seismic attributes may providefor definition of a geobody using one or more classes. Such a processmay occur via user input (e.g., user interaction), semi-automatically orautomatically (e.g., via a feature extraction process based at least inpart on one or more seismic attributes).

In the example of FIG. 1, the simulation component 120 may processinformation to conform to one or more attributes specified by theattribute component 130, which may include a library of attributes. Suchprocessing may occur prior to input to the simulation component 120.Alternatively, or in addition, the simulation component 120 may performoperations on input information based on one or more attributesspecified by the attribute component 130. In an example embodiment, thesimulation component 120 may construct one or more models of thegeologic environment 150, which may be relied on to simulate behavior ofthe geologic environment 150 (e.g., responsive to one or more acts,whether natural or artificial). In the example of FIG. 1, theanalysis/visualization component 142 may allow for interaction with amodel or model-based results, attributes, etc. In an example embodiment,output from the simulation component 120, the attribute component 130 orone or more other components may be input to one or more otherworkflows, as indicated by a workflow component 144 (e.g., fortriggering another process).

In an example embodiment, the management components 110 may includefeatures of a commercially available simulation framework such as thePETREL® seismic to simulation software framework. The PETREL® frameworkprovides components that allow for optimization of exploration anddevelopment operations. The PETREL® framework includes seismic tosimulation software components that can output information for use inincreasing reservoir performance, for example, by improving asset teamproductivity. Through use of such a framework, various professionals(e.g., geophysicists, geologists, and reservoir engineers) can developcollaborative workflows and integrate operations to streamlineprocesses. Such a framework may be considered an application and may beconsidered a data-driven application (e.g., where data is input forpurposes of simulating a geologic environment).

In an example embodiment, various aspects of the management components110 may include add-ons or plug-ins that operate according tospecifications of a framework environment. For example, a commerciallyavailable framework environment marketed as the OCEAN® frameworkenvironment (Schlumberger Limited, Houston, Tex.) allows for seamlessintegration of add-ons (or plug-ins) into a PETREL® framework workflow.The OCEAN® framework environment leverages .NET® tools (MicrosoftCorporation, Redmond, Wash.) and offers stable, user-friendly interfacesfor efficient development. In an example embodiment, various components(e.g., or modules) may be implemented as add-ons (or plug-ins) thatconform to and operate according to specifications of a frameworkenvironment (e.g., according to application programming interface (API)specifications, etc.).

FIG. 1 also shows, as an example, the framework 170, which includes amodel simulation layer 180 along with a framework services layer 190, aframework core layer 195 and a modules layer 175. The framework 170 mayinclude the commercially available OCEAN® framework where the modelsimulation layer 180 is the commercially available PETREL® model-centricsoftware package that hosts OCEAN® framework applications. In an exampleembodiment, the PETREL® software may be considered a data-drivenapplication. The PETREL® software can include a framework for modelbuilding and visualization. Such a model may include one or more grids(e.g., that represent a geologic environment).

The model simulation layer 180 may provide domain objects 182, act as adata source 184, provide for rendering 186 and provide for various userinterfaces 188. Rendering 186 may provide a graphical environment inwhich applications can display their data while the user interfaces 188may provide a common look and feel for application user interfacecomponents.

In the example of FIG. 1, the domain objects 182 can include entityobjects, property objects and optionally other objects. Entity objectsmay be used to geometrically represent wells, surfaces, reservoirs,geobodies, etc., while property objects may be used to provide propertyvalues as well as data versions and display parameters. For example, anentity object may represent a well where a property object provides loginformation as well as version information and display information(e.g., to display the well as part of a model).

In the example of FIG. 1, data may be stored in one or more data sources(or data stores, generally physical data storage devices), which may beat the same or different physical sites and accessible via one or morenetworks. The model simulation layer 180 may be configured to modelprojects. As such, a particular project may be stored where storedproject information may include inputs, models, results and cases. Thus,upon completion of a modeling session, a user may store a project. At alater time, the project can be accessed and restored using the modelsimulation layer 180, which can recreate instances of the relevantdomain objects.

In the example of FIG. 1, the geologic environment 150 may be outfittedwith any of a variety of sensors, detectors, actuators, etc. Forexample, equipment 152 may include communication circuitry to receiveand to transmit information with respect to one or more networks 155.Such information may include information associated with downholeequipment 158, which may be equipment to drill, acquire information,assist with resource recovery, etc. Other equipment 156 may be locatedremote from a well site and include sensing, detecting, emitting orother circuitry. Such equipment may include storage and communicationcircuitry to store and to communicate data, instructions, etc. Thegeologic environment 150 also shows various wells (e.g., wellbores)154-1, 154-2, 154-3 and 154-4. In the example of FIG. 1, the downholeequipment 158 may include a drill for drilling the well 154-3.

The framework 170 may provide for modeling the geologic environment 150including the wells 154-1, 154-2, 154-3 and 154-4 as well asstratigraphic layers, lithologies, faults, etc. The framework 170 maycreate a model with one or more grids, for example, defined by nodes,where a numerical technique can be applied to relevant equationsdiscretized according to at least one of the one or more grids. As anexample, the framework 170 may provide for performing a simulation ofphenomena associated with the geologic environment 150 using at least aportion of a grid. As to performing a simulation, such a simulation mayinclude interpolating geological rock types, interpolating petrophysicalproperties, simulating fluid flow, or other calculating (e.g., or acombination of any of the foregoing).

FIG. 2 shows a diagram for an example of a convention for dip (e.g., dipangle) and azimuth 212, a diagram of an example of a geobody 214,diagrams for examples of seismic data 220 and a portion of a trace 226,a block diagram of an example of a system 250 and a block diagram ofexamples of various geometrical attributes 280 (see also, e.g., theattribute component 130 of FIG. 1).

Seismic interpretation may aim to identify and classify one or moresubsurface boundaries based at least in part on azimuth and dip (e.g.,dip angle). Dip is the angle of slope of a plane from a horizontal plane(e.g., an imaginary plane) measured in a vertical plane in a specificdirection. A dipping plane may be defined by dip angle (e.g., also knownas magnitude or amount) and azimuth (e.g., also known as direction). Asshown in the diagram 212 of FIG. 2, azimuth may be defined as adirection with respect to a surface whereas dip angle (e.g., or “dip”)may be defined as the angle of that surface. In terms of attitude,strike direction may be defined as a compass bearing of a horizontalline on a dipping layer where dip may be the angle of the inclination ofthe bed measured perpendicular to the strike direction. Azimuth (e.g.,direction) may be specified by a compass direction (e.g., 0 degrees to360 degrees), for example, based on the strike of a dipping plane. As anexample, dip can be defined as the steepest angle of descent of a tiltedbed or feature relative to a horizontal plane and may be specified usingan angle between 0 degrees and 90 degrees and optionally a letter (e.g.,N, S, E, and W) or other moniker to denote an approximate direction inwhich the bed is dipping. As an example, various types of features maybe described, at least in part, by dip, at least in part by azimuth,etc. (e.g., sedimentary bedding, faults and fractures, cuestas, igneousdikes and sills, metamorphic foliation, etc.).

Some additional terms related to dip and strike may apply to ananalysis, for example, depending on circumstances, orientation ofcollected data, etc. One term is “true dip”. True dip is the dip of aplane measured exactly perpendicular to strike and also the maximumpossible value of dip magnitude. Another term is “apparent dip”.Apparent dip may be the dip of a plane as measured in any otherdirection except in the direction of true dip; however, it is possiblethat the apparent dip is equal to the true dip. For example, the termapparent dip (e.g., in an analysis), for a particular dipping plane, maybe equivalent to the true dip of that particular dipping plane.

As shown in the diagram 214 of FIG. 2, a geobody 216 may be present in ageologic environment (see also, e.g., the geologic environment 150 ofFIG. 1). For example, the geobody 216 may be a salt dome. A salt domemay be a mushroom-shaped or plug-shaped diapir made of salt and may havean overlying cap rock. Salt domes can form as a consequence of therelative buoyancy of salt when buried beneath other types of sediment.Hydrocarbons may be found at or near a salt dome due to formation oftraps due to salt movement in association evaporite mineral sealing.Buoyancy differentials can cause salt to begin to flow vertically (e.g.,as a salt pillow), which may cause faulting. In the diagram 214, thegeobody 216 is met by layers which may each be defined by a dip angle φ.

As mentioned, seismic data may be acquired for a region in the form oftraces. In the example of FIG. 2, the diagram 220 shows acquisitionequipment 222 emitting energy from a source (e.g., a transmitter) andreceiving reflected energy via one or more sensors (e.g., receivers)strung along an inline direction. As the region includes layers 223 anda geobody 225, energy emitted by a transmitter of the acquisitionequipment 222 can reflect off the layers 223 and the geobody 225.Evidence of such reflections may be found in the acquired traces. As tothe portion of a trace 226, energy received may be discretized by ananalog-to-digital converter that operates at a sampling rate. Forexample, the acquisition equipment 222 may convert energy signals sensedby sensor Q to digital samples at a rate of one sample per approximately4 ms. Given a speed of sound in a medium or media, a sample rate may beconverted to an approximate distance. For example, the speed of sound inrock may be on the order of around 5 km per second. Thus, a sample timespacing of approximately 4 ms would correspond to a sample “depth”spacing of about 10 meters (e.g., assuming a path length from source toboundary and boundary to sensor). As an example, a trace may be about 4seconds in duration; thus, for a sampling rate of one sample at about 4ms intervals, such a trace would include about 1000 samples where latteracquired samples correspond to deeper reflection boundaries. If the 4second trace duration of the foregoing example is divided by two (e.g.,to account for reflection), for a vertically aligned source and sensor,the deepest boundary depth may be estimated to be about 10 km (e.g.,assuming a speed of sound of about 5 km per second).

In the example of FIG. 2, the system 250 includes one or more memorystorage devices 252, one or more computers 254, one or more networks 260and one or more modules 270. As to the one or more computers 254, eachcomputer may include one or more processors (e.g., or cores) 256 andmemory 258 for storing instructions (e.g., modules), for example,executable by at least one of the one or more processors. As an example,a computer may include one or more network interfaces (e.g., wired orwireless), one or more graphics cards, a display interface (e.g., wiredor wireless), etc.

In the example of FIG. 2, the one or more memory storage devices 252 maystore seismic data for a geologic environment that spans kilometers inlength and width and, for example, around 10 km in depth. Seismic datamay be acquired with reference to a surface grid (e.g., defined withrespect to inline and crossline directions). For example, given gridblocks of about 40 meters by about 40 meters, a 40 km by 40 km field mayinclude about one million traces. Such traces may be considered 3Dseismic data where time approximates depth. As an example, a computermay include a network interface for accessing seismic data stored in oneor more of the storage devices 252 via a network. In turn, the computermay process the accessed seismic data via instructions, which may be inthe form of one or more modules. As an example, a dip attribute modulemay be provided for processing seismic data.

In the example of FIG. 2, the geometrical attributes 280 include one ormore dip attributes 282, one or more azimuth attributes 284, one or morecontinuity attributes 286, and one or more other attributes 288. Suchattributes may be part of a structural attributes library (see, e.g.,the attribute component 130 of FIG. 1). Structural attributes may assistwith edge detection, local orientation and dip of seismic reflectors,continuity of seismic events (e.g., parallel to estimated beddingorientation), etc. As an example, an edge may be defined as adiscontinuity in horizontal amplitude continuity within seismic data andcorrespond to a fault, a fracture, etc. Geometrical attributes may bespatial attributes and rely on multiple traces.

As mentioned, as an example, seismic data for a region may include onemillion traces where each trace includes one thousand samples for atotal of one billion samples. Resources involved in processing suchseismic data in a timely manner may be relatively considerable bytoday's standards. FIG. 3 shows a 2D diagram 310 and a 3D diagram 330 ofa dip scan approach, which involves processing seismic data with respectto discrete planes (e.g., a volume bounded by discrete planes).Depending on the size of the seismic data, such an approach may involveconsiderable resources for timely processing. The approach shown in FIG.3 may look at local coherence between traces and their amplitudes, andtherefore may be classified in the category of “apparent dip.”

Referring to the diagram 310 of FIG. 3, a 2D search-based estimate ofcoherence is shown with respect to a range of discrete dip angles. Suchan approach may estimate coherence using semblance, variance, principlecomponent analysis (PCA), or another statistical measure along adiscrete number of candidate dips and arrive at an instantaneous dipbased on a coherence peak. The diagram 330 of FIG. 3 shows a 3Dsearch-based estimate of coherence, which is analogous to the 2Dapproach shown in the diagram 310 and may use an inline vector and acrossline vector for time dip (e.g., along coherent peaks in inline andcrossline directions). In the example of FIG. 3, as shown in the 3Ddiagram 330, dip angle with maximum coherence may be stored as a dipmagnitude and dip direction/azimuth (see, e.g., the diagram 212 of FIG.2).

3D or volumetric dip can assist in processes such as structuralrestoration workflows, which may aim to invert relative depositionalhistory of individual layers in a volume. As an example, given a prioriinformation and well data, a relative depositional history may beconverted into geological time for individual layers (e.g., to assistexploration workflows). As an example, an approach may involve humaninteraction in a semi-automated manner that includes interpretation ofhorizons in a subterranean formation via user identification andselection of horizon features. Such an approach can be time-consumingand may focus on a relatively small region of the sub-surface. Whileefforts to increase automation may try to leverage estimates ofstructural dip, a precise format for such estimated dips may not exist,for example, because structural dip may be defined based on direction(e.g., dip magnitude and dip direction/azimuth) of surface normal at anypoint in the volume (see, e.g., the diagram 212 of FIG. 2).

In approaches where the surface normal is constructed by averaging ofthe positive dip (e.g., from current trace to the next trace) and thenegative dip (e.g., from current trace to the previous trace), in inlineand crossline directions, such a format has half the resolution of apositive/negative dip representation. An approach for volumetric dipthat offers a full theoretical resolution is described in U.S. patentapplication Ser. No. 12/891,859, entitled “Consistent Dip Estimation forSeismic Imaging” (Pub. No. US 2011/0118985 of May 19, 2011, which isincorporated by reference herein).

Dip estimation techniques that assume that a sub-surface volume conformsto a “layer-cake” model (i.e. that the sub-surface is just a stack oflaterally infinitely continuous surfaces, possibly with close-to zerothickness at some locations) can fail to account for sub-surface objects(e.g. channels, salt bodies, etc.) that can have finite lateral extents(e.g., structural discontinuities can outline boundaries of suchobjects). In such situations, where a discontinuity may exist, theconcept of a discontinuity dip attribute is lacking as dip is defined asa spatial derivative of a structure and the derivative is per definitionundefined at discontinuities. For example, for a reflector, positive dipand negative dip for a location with respect to a trace may not be equalsuch that a reflector normal vector for a peak at that location may bepointing vertically, indicating a zero dip at that location, which maybe inaccurate.

The approach described in the aforementioned application (US2011/0118985) can decouple dip through definition of a positive dip anda negative dip. Thus, for example, at a given point in a volume, thepositive dip (e.g., to the right) and the negative dip (e.g., to theleft) may not necessarily have uniform slope across the given point.Such an approach can alleviate first derivative concerns, especiallywhere a boundary may exist within a subsurface volume (e.g., channel,fault, body, etc.).

As an example, for a volumetric dip model, such as the model describedin US 2011/0118985, the following information may be provided for points(e.g., p(i,j,k)) in a sub-surface volume: (i) positive inline dip; (ii)negative inline dip; (iii) positive crossline dip; (iv) negativecrossline dip; and (v) dip uncertainty. With respect to data structureor data storage demands, such an approach can be represented, forexample, using five volumes (e.g., of similar size as an input seismicdata volume) that represent the sub-surface environment (e.g., as imagedby seismic data). As an example, a unit for dip can be defined asmillisecond per trace, or meter per trace, or another isomorphic unit ofchoice (e.g. angle). In such an example, a lateral coordinate system maybe indexed by inline and crossline numbers; noting that anothercoordinate system could be used (e.g. based on row/column numbers,geographical position in x/y coordinates, etc.).

FIG. 4 shows an example of a technique to determine dip values fromseismic data (see, e.g., US 2011/0118985). In particular, FIG. 4 shows aseries of traces 410 and a method 430 that implements a Taylor seriesexpansion. The series of traces 410 includes various parameters, forexample, for trace position in a 2D inline and crossline coordinatesystem and for sample location with respect to time or depth. Also shownis a sample-to-sample time increment Δs, which may be, for example,converted to a sample-to-sample depth increment.

As to the method 430, a trace T[i] and a trace T[i−1] are considered asbeing related by equation 434. By applying a Taylor series expansion,the equation can be represented as equation 438. By rearranging theequation 438, the equation 442 is provided, which can be solved forΔz(z), which represents a time or depth displacement for “z” betweentrace T[i] and trace T[i−1], which may be stored as a negative dip valuefor the trace T[i] and a location defined by the sample “z”. As anexample, a feature exists at “z” in the trace T[i] and evidence of thatfeature exists in the trace T[i−1] at a location displaced by a distanceor time from that of the trace T[i], where the displacement isrepresented by Az. As that displacement is with respect to a prior tracewith respect to the inline coordinate, for trace T[i], that displacementis a negative dip for the trace T[i]. Equations may be applied for apositive dip for the trace T[i], for example, with respect to the traceT[i+1]. Further, equations may applied for both negative dip andpositive dip with respect to the crossline coordinate (e.g., T[j],T[j−1], and T[j+1]). In such a manner, values for four of the fivevolumes may be determined. As to the uncertainty data volume, as anexample, it may include quality control data, consistency data,inconsistency data or other data that indicates uncertainty as to one ormore dip values (e.g., at a location or locations in a sub-surfacevolume).

As indicated in the example of FIG. 4, a method may implement a Taylorseries expansion technique for calculating time/depth-varying timingdifference (e.g., structural dip) between traces in positive andnegative directions. As an example, a method may implement a techniqueother than a Taylor series expansion for calculating time/depth-varyingtiming difference (e.g., structural dip) between traces. For example, across-correlation technique may be implemented, a technique based on aphase shift analysis between traces, etc. As an example, a method mayimplement a Taylor series expansion technique and another technique forcalculating time/depth-varying timing difference (e.g., structural dip)between traces.

FIG. 5 shows an example of seismic trace data 510, an example of aseries of seismic traces 530 and an example of a method 550. As shown,the seismic trace data 510 is organized with respect to an inline index“i”, a crossline index “j” and a depth or time index “k”, which may beequated to a depth in a subsurface volume. The indexes i, j and k mayrelate to a Cartesian coordinate system of X, Y and Z, respectively, forexample, directly, via mapping, etc. As an example, indexes that relateto a cylindrical coordinates system (R, Z, Θ) or other coordinate systemmay be used.

The series of traces 530 correspond to a series of inline traces for agiven crossline index value. For the trace T[i,j], a positive dip valuecan be defined with respect to the trace T[i+1,j] and a negative dipvalue can be defined with respect to the trace T[i−1,j]. As indicated, anegative dip value can be defined for the trace T[i+1,j] with respect tothe trace T[i,j] and a positive dip value can be defined for the traceT[i−1,j] with respect to the trace T[i,j].

In the example of FIG. 5, a positive dip (ΔT+) at trace T[i−1] is equalto a negative dip (ΔT−) at trace T[i] and a positive dip at trace T[i]is equal to a negative dip at trace T[i+1]. Such equalities may bedeemed natural consistencies where, otherwise, if one started to followa signed path out from a starting point and then follow the signed pathbackwards, the resulting end point would be different than the startingpoint.

In vector calculus, curl is a vector operator that describesinfinitesimal rotation of a 3D vector field where at points in thefield, the curl of that field can be represented by a vector (e.g.,length and direction that characterize rotation at a point). Theaforementioned natural consistencies may be defined using curl.

Direction of curl is an axis of rotation (e.g., as determined by theright-hand rule) and magnitude of curl is magnitude of rotation. Influid dynamics, a vector field whose curl is zero is referred to asirrotational. Curl is a form of differentiation for vector fields thathas a corresponding form in Stokes' theorem, which relates surfaceintegral of curl of a vector field to a line integral of a vector fieldaround a boundary curve. Alternative terminology “rotor” or “rotational”and alternative notations “rot F” and “∇×F” (e.g., del operator andcross product) may be used for “curl” and “curl F”.

As an example, a positive dip can, assuming a reasonably verticallysmooth dip model, be reconstructed from negative dip estimates wherepositive and negative dips abide by the natural consistencies (e.g.,they are “consistent”). Accordingly, curl of a surface, defined byintegration of the dip fields, is zero (e.g., or tends to zero givensome small amount of error). Thus, for a given sample, where a reliabledip estimate exists, and one follows the sample along the given negativedip to a new position in a previous trace, then the positive dip at thatnew position will be equal to the negative dip that led to that newposition from the starting position.

Given the natural consistencies or curl properties, a type of symmetryexists between positive and negative dips. As described with respect toFIG. 5, a method can include reconstructing a positive dip from negativedips, or the opposite, reconstructing a negative dip from positive dips.Further, such a method can include one or more uncertainty checks, forexample, to determine if sufficient reliable dip estimates exist at oneor more locations. With respect to the technique of FIG. 4, such checksmay include accessing uncertainty data (e.g., or consistency data,inconsistency data, etc.), for example, as stored in a dip uncertaintyvolume.

A consequence of the aforementioned “symmetry” is that a positive dipvolume can be constructed from a negative dip volume and vice versa and,consequently, three volumes may be persisted rather than five volumes.Thus, a technique such as the technique of FIG. 4 may maintain its dipmodel resolution by persisting (e.g., saving to memory), for example,the following three volume sets: (i) negative inline dip; (ii) negativecrossline dip; and (iii) dip uncertainty (e.g., or consistency,inconsistency, etc.). As an example, alternatively, resolution may bemaintained by persisting (e.g., saving) the following three volume sets:(i) positive inline dip; (ii) positive crossline dip; and (iii) dipuncertainty (e.g., or consistency, inconsistency, etc.).

By persisting three volume sets rather than five volume sets, as anexample, a theoretical 40% reduction in memory (e.g., disk volume) and atheoretical 40% decrease in I/O cost (e.g., as transfer speed between adisk-based storage device and memory) may be realized. An added costwould be incurred, for example, for reconstruction of positive dipfields from negative dip fields or vice versa. For circumstances where aprocessor outpaces a memory bus (e.g. processor idle time while waitingfor data), time to re-compute positive dips from negative dips can besmaller than time to read pre-computed positive dip data from adisk-based storage device.

As to the method 550, it includes a reception block 554 for receiving arequest for a dip value, a locate block 558 for locating complimentarydip values and an interpolate block 562 for interpolating a value forthe requested dip value based on the located complimentary dip values.As to a complimentary dip, such a dip is a positive dip where a negativedip has been requested and a negative dip where a positive dip has beenrequested. For example, as to the series of traces 530, if a positivedip is requested for the trace T[i,j], then a complimentary dip would bea negative dip of the trace T[i+1,j]. As another example, as to theseries of traces 530, if a negative dip is requested for the traceT[i,j], then a complimentary dip would be a positive dip of the traceT[i−1,j]. As to interpolation, two complimentary dips may be located andused to provide a value for a requested dip.

The method 550 is shown in FIG. 5 in association with variouscomputer-readable media (CRM) blocks 555, 559 and 563. Such blocksgenerally include instructions suitable for execution by one or moreprocessors (or processor cores) to instruct a computing device or systemto perform one or more actions. While various blocks are shown, a singlemedium may be configured with instructions to allow for, at least inpart, performance of various actions of the method 550. As an example, acomputer-readable medium (CRM) may be a computer-readable storagemedium. As an example, the memory 258 of FIG. 2 may provide for storageof instructions executable by one or more of the one or more processors256 of FIG. 2. Thus, the memory 258 may be a CRM as in FIG. 5.

As an example, a method can include interpolating negative dips tooutput a positive dip or vice versa. Thus, given an array of negativedip values, an algorithm may be provided and implemented to generate apositive dip value a selected sample position.

With such an algorithm, as an example, a method can iterate over samplesand traces in a dip model and construct a positive inline dip field anda positive crossline dip field via repeated calls to the algorithm andaccess to a negative inline dip field and a negative crossline dipfield, respectively (e.g., or vice versa). As mentioned, where acomputing system is configured for parallel processing (e.g., usingprocessor cores of a CPU, processor cores of a GPU, etc.), processingmay occur in parallel to construct such fields.

As an example, a method can include receiving a request for a dip valuefor a location within a sub-surface volume; responsive to the request,locating complimentary dip values for locations within the sub-surfacevolume where the location for the requested dip value lies within boundsdefined by the locations for the complimentary dip values; andinterpolating a value for the requested dip value based on thecomplimentary dip values. In such a method, receiving may includereceiving a request for a positive dip value, and locating may includelocating negative dip values as complimentary dip values. Furthermore,receiving may include receiving a request for a negative dip value, andlocating may include locating positive dip values as complimentary dipvalues. Such a method may include repeating for a plurality of requests,for example, for region of the sub-surface volume or the entiresub-surface volume.

As an example, locating can include accessing a data set that includesnegative inline dip values, negative crossline dip values anduncertainty values for the sub-surface volume; or, for example,accessing a data set that includes positive inline dip values, positivecrossline dip values and uncertainty values for the sub-surface volume.

As an example, a method can include performing a path analysis for alocation of the requested dip value using at least two paths within thesub-surface volume. In such an example, path analysis may determine ifpath invariance exists for the location of the requested dip value basedon curl of a dip field.

As an example, a method can include providing a dip model derived fromseismic data using a Taylor series expansion technique. For example,such a dip model may be derived using a Taylor series expansiontechnique as described with respect to FIG. 4. As to examples of othertechniques, a method may implement a cross-correlation technique, aphase-based technique, etc.

As an example, a system can include one or more processors, memory andinstructions stored in the memory and executable by at least one of theone or more processors to instruct the system to, responsive to arequest for a dip value for a location within a sub-surface volume,locate complimentary dip values for locations within the sub-surfacevolume where the location for the requested dip value lies within boundsdefined by the locations for the complimentary dips values, andinterpolate a value for the requested dip value based on thecomplimentary dip values. For example, the system 250 of FIG. 2 mayinclude instructions such as instructions associated with the method 550of FIG. 5.

As an example, a system can include instructions to instruct the systemto calculate path attribute values for locations within a sub-surfacevolume where the path attribute values represent curl of a dip fieldwithin the sub-surface volume; to compare interpolated value for arequested dip value to a dip value determined based on seismic data anda Taylor series expansion; calculate difference attribute values baseddifferences between interpolated values and dip values determined basedon seismic data and a Taylor series expansion; access a data set thatincludes at least positive dip values or at least negative dip valuesfor the sub-surface volume; calculate derivative attribute values for adip field within a sub-surface volume where the derivative attributevalues represent vertical smoothness of the dip field; and/or calculatea quality control attribute based at least in part on interpolated dipvalues where the quality control attribute indicates quality of regionaldip field values for calculating interpolated dip values, for example,where the quality control attribute that indicates quality of regionaldip field values for calculating interpolated dip values indicatesregional chaos. As to examples of techniques other than Taylor series,instructions may be provided for implementation of a cross-correlationtechnique, a phase-based technique, etc.

As an example, one or more computer-readable storage media can includecomputer-executable instructions to instruct a computing system to:receive dip values determined based on volumetric seismic data andTaylor series expansion; calculate interpolated dip values based on thereceived dip values; and render the interpolated dip values to adisplay. As an example, such one or more storage media may includeinstructions to calculate curl values for a dip field defined by theinterpolate dip values and, for example, render the curl values to thedisplay. As to examples of techniques other than Taylor series,instructions may be provided for implementation of a cross-correlationtechnique, a phase-based technique, etc.

As an example, one or more computer-readable storage media can includecomputer-executable instructions to instruct a computing system toreceive positive dip values and negative dip values based on volumetricseismic data and Taylor series expansion and, where the interpolated dipvalues include positive dip values, calculate difference values betweenthe interpolated dip values and the received positive dip values and,where the interpolated dip values include negative dip values, calculatedifference values between the interpolated dip values and the receivednegative dip values. As an example, instructions may also be stored torender such difference values to the display (e.g., for a workflowanalysis, interpretation, etc.).

FIG. 6 shows an example of a method 600 for determining a dip seismicattribute. The method 600 includes a reception block 614 for receiving arequest for determination of one or more positive dips or one or morenegative dips, for example, where a “dip” may be a dip seismicattribute. Responsive to receipt of the request, the method 600 includesa decision block 618 for deciding whether the received request is forpositive dip(s) where for a positive dip, the method 600 continues to alocate block 632 for locating negative dips (e.g., a positive dip from anegative dips branch) otherwise the method 600 continues to a locateblock 652 for locating positive dips (e.g., a negative dip from positivedips branch).

In the example of FIG. 6, where the decision block 618 decides toproceed to the locate block 632, negative dip values (e.g., negativedips) are located. Such values may be stored in a data storage device,which may be local or remote and correspond to “volume” data (e.g.,volumetric seismic attribute data). In the example, of FIG. 6, themethod 600 shows various blocks for determining a single positive dipvalue from negative dip values (e.g., negative dips). Where multiple dipvalues are requested, a process to determine positive dips from negativedips may proceed in a parallel manner or a serial manner. For example,where parallel processing is available, various blocks of the method 600may be implemented in parallel.

In the example of FIG. 6, after locating negative dip values, the method600 continues at a selection block 634 to select a positive dip fordetermination, for example, for a seismic trace “T−1” and at a locationdefined by sample “k”. In response, the method 600 continues at a loadblock 636 that loads negative dip values from the located negative dipvalues, for example, for a seismic trace “T” and at locations defined bysamples “kk₀” and “kk₁”. Prior to proceeding to determination of thepositive dip value for trace “T−1” at the location defined by sample“k”, the method 600 continues at two decision blocks 638 and 640 fordeciding whether the location defined by sample “k” is within certainlocation bounds defined by samples “kk₀” and “kk₁”. Specifically, thedecision block 638 decides if kk₀−NegDip[kk₀] is less than or equal to kwhile the decision block 640 decides if kk₁−NegDip[kk₁] is greater thank. In the decision block 638 and 640, the NegDip[kk₀] and theNegDip[kk₁] identify in conjunction with kk₀ and kk₁ locations withrespect to trace “T-1”. If the decision block 638 or 640 decides thatthe location defined by k for the trace “T−1” does not meet theirrespective criterion, then the method 600 continues to a termination ornext block 680. For example, where a request is for a single positivedip value, the method 600 may terminate whereas if the request is formultiple positive dip values, the method 600 may essentially skip theinstant determination for a positive dip value (e.g., for the trace“T−1” at sample location “k”) and move on to a next positive dip valueat another trace, another sample location, etc.

In the example of FIG. 6, where the decision blocks 638 and 640 decidethat the location defined by the sample “k” meets the conditions, thenthe method 600 continues at an interpolation block 642 for interpolatinga positive dip value for the trace “T−1” at the location defined by thesample “k” based at least in part on the negative dip values for thetrace “T” and locations defined by the samples “kk₀” and “kk₁”. Aftersuch an interpolation, the method 600 may continue to the termination ornext block 680.

In the example of FIG. 6, where the decision block 618 decides toproceed to the locate block 652, positive dip values (e.g., positivedips) are located. Such values may be stored in a data storage device,which may be local or remote and correspond to “volume” data (e.g.,volumetric seismic attribute data). In the example, of FIG. 6, themethod 600 shows various blocks for determining a single negative dipvalue from positive dip values (e.g., positive dips). Where multiple dipvalues are requested, a process to determine negative dips from positivedips may proceed in a parallel manner or a serial manner. For example,where parallel processing is available, various blocks of the method 600may be implemented in parallel.

In the example of FIG. 6, after locating positive dip values, the method600 continues at a selection block 654 to select a negative dip fordetermination, for example, for a seismic trace “T” and at a locationdefined by sample “k”. In response, the method 600 continues at a loadblock 656 that loads positive dip values from the located positive dipvalues, for example, for a seismic trace “T−1” and at locations definedby samples “kk₀” and “kk₁”. Prior to proceeding to determination of thenegative dip value for trace “T” at the location defined by sample “k”,the method 600 continues at two decision blocks 658 and 660 for decidingwhether the location defined by sample “k” is within certain locationbounds defined by samples “kk₀” and “kk₁”. Specifically, the decisionblock 658 decides if kk₀−PosDip[kk₀] is less than or equal to k whilethe decision block 660 decides if kk₁−PosDip[kk₁] is greater than k. Inthe decision block 638 and 660, the PosDip[kk₀] and the PosDip[kk₁]identify in conjunction with kk₀ and kk₁ locations with respect to trace“T”. If the decision block 658 or 660 decides that the location definedby k for the trace “T” does not meet their respective criterion, thenthe method 600 continues to a termination or next block 680. Forexample, where a request is for a single negative dip value, the method600 may terminate whereas if the request is for multiple negative dipvalues, the method 600 may essentially skip the instant determinationfor a negative dip value (e.g., for the trace “T” at sample location“k”) and move on to a next negative dip value at another trace, anothersample location, etc.

In the example of FIG. 6, where the decision blocks 658 and 660 decidethat the location defined by the sample “k” meets the conditions, thenthe method 600 continues at an interpolation block 662 for interpolatinga negative dip value for the trace “T” at the location defined by thesample “k” based at least in part on the positive dip values for thetrace “T−1” and locations defined by the samples “kk₀” and “kk₁”. Aftersuch an interpolation, the method 600 may continue to the termination ornext block 680.

The method 600 is shown in FIG. 6 in association with variouscomputer-readable media (CRM) blocks 615, 619, 633, 635, 637, 639, 641,643, 653, 655, 657, 659, 661, 663 and 681. Such blocks generally includeinstructions suitable for execution by one or more processors (orprocessing cores) to instruct a computing device or system to performone or more actions. While various blocks are shown, a single medium maybe configured with instructions to allow for, at least in part,performance of various actions of the method 600. As an example, acomputer-readable medium (CRM) may be a computer-readable storagemedium. As an example, the memory 258 of FIG. 2 may provide for storageof instructions executable by one or more of the one or more processors256 of FIG. 2. Thus, the memory 258 may be a CRM as in FIG. 6.

FIG. 7 shows some examples of data 710, 720, 730, 740, 750 and 760 withrespect to an inline coordinate and a depth or time coordinate where thedata 710 is seismic data, the data 720 is positive dip data calculatedusing the aforementioned technique of FIG. 4, the data 730 isuncertainty data (e.g., consistency, inconsistency, etc.) calculatedusing the aforementioned technique of FIG. 4, the data 740 is positivedip data 740 constructed from negative dip data (not shown) calculatedusing the aforementioned technique of FIG. 4, the data 750 is differencedata calculated based on the data 720 and the data 740 and the data 760is root-mean-square derivative data, which may be a metric or attributefor purposes of assessing or interpreting the seismic data 710 or otherdata based at least in part on the seismic data 710.

As an example, the data 730 may be uncertainty measure data for thepositive dip data 720 as calculated by a technique such as the techniqueof FIG. 4. As an example, the data 730 may be quality control data. Inthe example of FIG. 7, the data 730 shows that uncertainty is higher in“chaotic” areas (e.g., lower portion of the plot of uncertainty valueswith respect to inline and depth/time) and along major faults (e.g.,upper portion of the plot of uncertainty values with respect to inlineand depth/time).

In the example of FIG. 7, the positive dip data 740, as mentioned, iscalculated based on interpolation calculations such as those ofinterpolation block 542 of the method 500 to output a positive dip.

In FIG. 7, the difference data 750 corresponds to absolute values ofdifferences between the positive dip data 720 and calculated positivedip data 740 (e.g., using interpolations based on negative dip data). Inthe example of FIG. 7, interpolation fails to construct positive dipsfrom negative dips in some areas, for example, where the underlyingtechnique (see, e.g., technique of FIG. 4) failed to converge to astable dip model (e.g., via an iterative process that aims to output adip model). In this example, as the underlying negative dip data (notshown) upon which interpolation operates to calculate positive dip data(see the data 740) has associated high uncertainty (e.g., lack ofconsistency), even the positive dip data 720 at those locations havehigh uncertainty. Where the underlying technique that generates anegative dip field (or a positive dip field) generates data with highuncertainty, interpolation of that field to generate a positive dipfield (or a negative dip field) will likewise have high uncertainty.

As to areas where the underlying dip estimation technique did notconverge to a stable dip model, error introduced by saving negative dipvalues and constructing positive dip values therefrom via interpolationis on average of the order of about 0.004 ms per trace (e.g., of theorder of about 1/1000 of sample distance, for a sample rate of 4milliseconds). For the example of FIG. 7, the error tends to besubstantially smaller (e.g., several orders of magnitude smaller) thanaccuracy of various dip estimation techniques. In such an example, giventhat the error tends to be quite small in comparison to accuracy of dipestimation techniques, persisting, saving, accessing, loading, etc., apositive dip field or a negative dip field for construction of acorresponding negative dip field or a corresponding positive dip field,such an approach may be considered substantially loss-less (e.g., interms of the approach being akin to an approach for compression anddecompression).

As an example, the difference data 750 may be available as an edgeattribute, a chaos attribute, etc., as it can highlight one or morechaotic areas, large faults, etc. A graphical user interface,application configuration file, etc., may provide for options as to oneor more attributes. For example, depending on a workflow or task, a usermay select one or more options to determine one or more attributes. Suchattributes may include attributes that output data such as theuncertainty data 730, the positive dip data 740 (e.g., or negative dipdata), the difference data 750, etc. If a task is facilitated by edgedetection, a user may select or configure a configuration file toprovide difference data such as the difference data 750. Such a taskmay, for example, be a task where an edge attribute is input to afault/fracture mapping workflow. Such a task may itself not leverage thebenefits of “compact” storage in that, for example, a positive dip fieldand a negative dip field are available and another positive dip field isgenerated from the available negative dip field.

As an example, an isomorphic result may be performed on an input dipmodel, for example, to serve as an additional quality control check onthe input dip model for a compression process or decompression process.For example, for an inline i, crossline j, and depth z, be calculatedusing an algorithm such as:

dlp = InlinePosDip [i,j,z] ; dJp = CrosslinePosDip[i,j,z] ; Errl = Abs (dlp − InlineNegativeDip[i+1,j,z+dlp] ) ; ErrX = Abs ( dJp −InlineNegativeDip[i,j+1,z+dJp] ) ; and Err = Sqrt ( Errl * Errl + ErrJ *ErrJ ).

Accordingly, if one takes a step to the right in the input dip model,and then takes a step to the left, for the dips at those locations, oneshould be returned to the starting place. Such an algorithm can apply toinline and crossline directions. Such an approach may be referred to asa “2D dip inconsistency” attribute.

As to the RMS derivative data 760, this may be data for quality control,edge analysis, etc. As mentioned, an assumption for implementing aninterpolation algorithm may be that estimated positive/negative dips ininline and crossline directions are relatively smooth vertically, withthe meaning they are sufficiently low frequency that, for example, alinear interpolation scheme between samples may be appropriate. Such anassumption can be reasonable as layers in a sub-surface volume (e.g.,outside one or more chaotic areas), tend to be reasonably parallel. Thenotion of layers being reasonably parallel stems from a theory fornatural depositional processes for sediments.

As an example, data such as the RMS derivative data 760 may provide anindication as to areas within a sub-surface volume where aninterpolation method may be beneficial (e.g., will produce reasonablyreliable or useful output) and, for example, where it may fail toprovide desired reliability. As an example, the RMS derivative data 760may be considered an attribute generated by an attribute method thatassess frequency content vertically, in a small time/depth window,above/below each sample, for each dip component output from a chosen dipestimation method. Such a method may be accomplished in one or moremanners. For example, a method to analyze frequency content may includeFourier transform, statistical measurements (e.g., variance, entropy,etc.), etc.

In the example of FIG. 7, the RMS derivative data 760 stems from anattribute method that takes a vertical derivative of one or more dipcomponents (inline/crossline, positive, negative components), and use anRMS value of the desired vertical derivatives, for example, as a measureof vertical smoothness. Such an attribute method may be considered atwo-sample method, for example, to help ensure a maximum verticalresolution of a quality control field (e.g., as a quality controlattribute). Specifically, the RMS derivative data 760 is the RMS ofd/dt(negative inline dip) and d/dt(negative crossline dip).

As an example, the RMS derivative data 760 may be compared to thedifference data 750. Such a comparison may notes some features thatappear in both data 750 and data 760. Thus, as attributes, correspondingattribute methods may be implemented for complimentary comparisons ofoutput. As an example, the two attribute methods can provide twodifferent measures to quantify the same underlying quality of estimateddip, for example, on a sample-by-sample basis. Such an approach may beused, for example, as a robust chaos indicator, fault indicator, chaosand fault indicator, etc. For example, a workflow may be defined toinclude one or more worksteps where one or more attribute methods arecalled upon to generate data such as the data 750, the data 760 or thedata 750 and 760.

As to an attribute method that includes one or more derivatives, forexample, to generate data such as the data 760, may be referred to as a“dip derivative” attribute. As mentioned, another attribute may bereferred to as a “2D dip inconsistency” attribute and yet anotherattribute may be referred to as a “difference” attribute. As an example,such attributes may be optional and depend on desires of a user, forexample, type of workflow, desired result, type of interpretation, etc.As mentioned, various attributes, while constructing a positive dip fromnegative dips or a negative dip from positive dips, may includeaccessing data sets that may not necessarily reduce data storagedemands, data I/O demands, etc. However, as an example, afterimplementation of such an attribute method or attribute methods (e.g.,quality control, edge detection, etc.), additional processing may occurwhere data storage demands, data I/O demands, etc., are reduced.

FIG. 8 shows an example through a diagram and equations 810 where apositive dip can be approximated using a negative dip. The example ofFIG. 8, various parameters are defined, some of which have beenmentioned above. For example, a trace may be defined according to aninline, a crossline or other value “T” and a depth, time or sample value“K”. As shown, a positive dip for a trace may be specified asPosDip[T,K] and a negative dip for an adjacent trace may be specified asNegDip[T+1,K]. As to sign conventions, a positive value for a positivedip may indicate that the dip is diving (e.g., moving deeper) betweenadjacent traces; whereas, a positive value for a negative dip mayindicate that the dip is surfacing (e.g., moving shallower) betweenadjacent traces.

As shown in the example of FIG. 8, the trace at “T” includes a sample atk₀ and a sample at k₁, which may correspond to time or depth while thetrace at “T+1” includes a sample at kk₀ and a sample at kk₁, which maycorrespond to time or depth. Given such definitions, the diagram and theequations 810 of FIG. 8 show that PosDip[T,k] can be approximated byNegDip[T+1,kk].

FIG. 9 shows an example where numeric values applied to the diagram andequations 810 of FIG. 8. Specifically, FIG. 9 shows a diagram 910,equations 930 to determine a positive dip from negative dips (e.g.,based on interpolation) and conditions 950. As an example, the equations930, the conditions 950 or the equations and the conditions 950 may beimplemented in a method such as the method 600 of FIG. 6. For example,the equations 930 may be implemented in the interpolation block 642 tocalculate a positive dip based on negative dips. A correspondingequation to calculate a negative dip based on positive dips may beformulated and implemented in the interpolation block 662.

As shown in the equations 930, for the example data given, thePosDip[T,k]≈NegDip[T+1,101]*w[k]+NegDip[T+1,100]*(1−w[k]) wherew[k]=(k−99.5)/(101.5−99.5). Such equations may be implemented inconjunction with conditions such as kk₀−NegDip[T+1,kk₀]<k where kk₀=100and kk₁−NegDip[T+1,kk₁]>k where kk₁=101 (e.g., kk₁=kk₀+1). Suchconditions may be applied, for example, in one or more decision blocks(see, e.g., the decision blocks 638 and 640 of FIG. 6; and, for negativedip, the decision block 658 and 660 of FIG. 6).

Thus, in the example of FIG. 9, one may assume that the unit of the dipis samples per trace, with floating point precision, and the polarityconvention is that a positive value for a positive dip, means that theimplicit layer/interface is moving deeper in the trace to the right.Given such an example, a positive value for a negative dip means thatthe implicit layer is to be found at a more shallow position in thetrace to the left. For example, if negative dip for a position kk=100(e.g., for sample #100 in trace #i) is equal to 0.5, then the positivedip for trace #i−1 at location 99.5 (e.g., 100−0.5) is also 0.5.Further, if negative dip for position kk=101 (e.g., for sample #100 intrace #i) is equal to −0.5, then the positive dip for trace #i−1 atlocation 101.5 (i.e. location #101−(−0.5)) is also −0.5. Given theforegoing numbers, assuming linearity between neighboring samplepositions, since positive dip at position 99.5 is 0.5, and since thepositive dip at position 101.5 is −0.5, then through interpolation, itis possible to calculate the positive dip for a position k, between inthe interval between 99.5 and 101.5, for example, using the equation inequations 930: PosDip[k]=−0.5*w[k]+0.5*[1.0−w[k]] where:w[k]=(k−99.5)/(101.5−99.5).

To calculate the positive dip for a sample # k in trace # i−1, a methodcan include locating a sample position # kk₀ in trace # i as well aslocating the sample position # kk₁ where kk₁=kk₀+1 in trace # i, suchthat (kk₀−NegDip[kk₀]≦k) and ((kk₀+1)−NegDip[kk₀+1]>k) followed byinterpolation (e.g., a linear or other interpolation).

As to the conditions 950, consider:(kk₀+1)−NegDip[kk₀+1]>=kk₀−NegDip[kk₀] or kk₀ such thatNegDip[kk₀+1]−NegDip[kk₀]<1 (e.g., for each kk₀). In such an example,the conditions act to avoid having dips which would “cross” each other(e.g., which is not causal).

As an example, once a sample position kk₀, as outlined above, analgorithm such as described by the pseudo-code below may be implemented:

// Estimate positive dip, for position k, given kk0, through linearinterpolation float posDip = 0.0f ; if ( ( kk0 >= 0) && ( kk0 < (vc−1) )) // located valid sample location {   int kk1 = kk0 + 1 ;   float k0 =kk0 − negDipArr[kk0] ;   float k1 = kk1 − negDipArr[kk1] ;   if ( k1 !=k0 )   { float  r = (k−k0) / (k1−k0) ; float  kk = kk0 + r ;   posDip =kk − k ; // positive dip for sample # k   } } return posDip ;

FIG. 10 shows an example of a diagram 1005 and an example of a method1010 for quality control. As mentioned, a quality dip field may beassessed as to whether or not “path independence” is invariant. Forexample, if one starts at a point (x₀,y₀,z₀) in a dip model, andintegrates up the dip values to another spatial location (x₁,y₁), thenthe end point will be at the same time/depth point z₁ (e.g., regardlessof path taken from (x₀,y₀) to (x₁,y₁). As mentioned, in mathematicalterms for this is characteristic, “curl” of a vector dip model will beequal to or tend to zero (e.g., within some reasonable error) within adip model. As an example, an assumption may be made that path invarianceis honored for estimated positive/negative inline and crossline dipfields coming out of a dip estimation process. As an example, pathinvariance may be honored for constructed or reconstructed dip fields.As an example, a quality control attribute or metric may be derivedusing a method such as the method 1010 of FIG. 10, which may help invalidating that path invariance exists, for example, for one or moreconstruction (e.g., or reconstruction) process (e.g., as in the method600 of FIG. 6).

In the example of FIG. 10, the diagram 1005 shows a sample in a dipmodel (open circle) where a method such as the method 1010 can calculatea two-way time/depth difference from the origin of the sample to any ofits neighboring locations, following two different paths. In the diagram1005, a Path A starts out in the inline direction (dashed lines) and aPath B starts out in the crossline direction (dotted lines). For eachvisited point, a method can include calculating the “altitude”difference from the two paths, and taking the maximum altitudedifference, from its visited neighbors, to be the reconstructionuncertainty measurement for the starting point.

As an example, such a method may include starting at a given depth z₀,and then summing up altitude difference for each step, where (e.g.,assuming the dip is stored as altitude difference per trace) when takingone step to the right, the method includes adding the positive crosslinedip the for the current position and when taking one step to the left,the method includes subtracting of negative crossline dip for thatlocation (e.g., by implication). In such a method, a step up can implysubtracting of the negative inline dip and a step down can imply addingof the positive inline dip for a current location.

In the example of FIG. 10, the diagram 1010 shows paths followed from aselected sample to validate path independence (e.g., path invariance),for a search radius (e.g., block-wise) of two traces, in both inline andcrossline direction. As an example, a search radius may be defined as aparameter for a construction or reconstruction uncertainty process(e.g., an uncertainty attribute method). Thus, as shown in FIG. 10, apath independence/curl concept can be implemented as a measure ofquality.

As an example, a method can include integrating a dip field in a circle(e.g., or square) pattern (e.g., with a default or user-specifiedradius), around each location in an effort to determine whether onewould end up at the same altitude/depth as a start location.

As an example, a method can include calculating a path invariance (e.g.,“curl” attribute) for a full dip model. In such an example, a dip modelmay be provided its estimated positive and negative dips, and inline andcrossline directions, where a curl attribute method is applied toquantify how well the dip model estimation process honors pathindependence (e.g., path invariance).

As to the method 1010, it includes a selection block 1014 for selectinga starting point, a selection block 1018 for selecting Path A, aselection block 1022 for selecting Path B, an arrival block 1026 forarriving at a point via Path A, an arrival block 1030 for arriving at apoint via Path B, and a decision block 1034 for deciding if the altitudeof the arrival points for Path A and Path B are the same (e.g., withinsome error tolerance). Based on the decision block 1034, the method 1010decides whether to continue at a block 1038 indicating that curl is OK(path invariance) or to continue at a block 1042 indicating that curl isnot OK (lack of path invariance). As an example, a difference block maybe provided that calculates a difference or differences for Path A andPath B (e.g., as to altitude) and that stores, displays, etc., thedifference (e.g., as a quality control or other metric).

FIG. 11 shows an example of a method 1110 for rendering a result from apath analysis. The method 1110 includes a provision block 1114 forproviding data, a determination block 1118 for determining dip for orfrom a full or a reduced set of data, a performance block 1122 forperforming path analysis (e.g., curl checking), a storage block 1126 forstoring results of the path analysis and a render block 1132 forrendering path analysis results to a screen, a display, etc. As to thedetermination block 1118, it may determine dips from seismic data (e.g.,using a technique such as the technique of FIG. 4) to provide a full ora reduced set of dip data, it may determine dips from a full set of dipdata using interpolation, it may determine dips from a reduced set ofdip data using interpolation, etc. As to the performance block 1122 forperforming path analysis, such an analysis may include one or moreparameters, optionally selectable by a user. For example, a radiusparameter may be used for paths and, for example, results may begenerated for a plurality of radii and compared (e.g., to determine ifpath invariance occurs over a region, a scale, etc.).

FIG. 12 shows an example of path attribute data 1210. Such data may bedata output from a path-independence (e.g., curl) quality controlattribute, for example, as explained above, for example for a selectedradius (e.g., for a radius of 1). In the example of FIG. 12, the data1210 tends to be relatively consistent with other quality control oredge detection attributes described above. Such an attribute may beimplemented, for example, in a workflow, a workstep, etc., where chaos,discontinuities, etc. are of interest. As an example, the path attributerepresented by the path attribute data 1210 may be referred to as a “3Ddip inconsistency” attribute.

As an example, one or more dip quality control, edge detection, etc.,attributes may be run either on an input dip model, on a reconstructeddip model (e.g., construction of one type of dip from another type ofdip), etc. As mentioned, a dip attribute may include a 2D dipinconsistency attribute, a 3D dip inconsistency attribute, a dipderivative attribute, or other type of attribute described herein.

FIG. 13 shows examples of data sets 1340 and 1360, examples ofattributes, which may optionally be implemented with one or more of thedata sets 1340 and 1360, or optionally seismic data, and an example of amethod 1390. The data sets 1360 include sets 1362, 1364, 1366 and 1368as well as memory block 1363, 1365, 1367 and 1369, which indicateexamples of memory demand for corresponding data sets. As indicated, amemory block 1341 for the “full” data set 1340 has a greater memorydemand than for the reduced sets 1360.

As to the attributes 1380, these can include a 2D inconsistencyattribute 1382, a 3D inconsistency attribute 1384, a 3D derivativeattribute 1386 and one or more other attributes 1388. The attributes1380 can include corresponding methods for calculation of suchattributes, for example, from one or more of the data sets 1340 and1360. In the example of FIG. 13, the attributes 1380 may be provided asmodules, for example, instructions in one or more computer-readablemedia for implementation using one or more processors configured toexecute the instructions.

As to the method 1390, it includes a reception block 1392 for receivingestimated dip values, a calculation block 1394 for calculatinginterpolated dip values, a render block 1396 for rendering interpolateddip values to a display and a calculation block 1398 for calculatinganother metric, which may be rendered to a display (e.g., as part of ananalysis, workflow, etc.).

The method 1390 is shown in FIG. 13 in association with variouscomputer-readable media (CRM) blocks 1393, 1395, 1397 and 1399. Suchblocks can include instructions suitable for execution by one or moreprocessors (or processing cores) to instruct a computing device orsystem to perform one or more actions. Though various blocks are shown,a single medium may be configured with instructions to allow for, atleast in part, performance of various actions of the method 1390. As anexample, a computer-readable medium (CRM) may be a computer-readablestorage medium. As an example, the memory 258 of FIG. 2 may provide forstorage of instructions executable by one or more of the one or moreprocessors 256 of FIG. 2. Thus, the memory 258 may be a CRM as in FIG.13.

As an example, one or more computer-readable storage media can includecomputer-executable instructions to instruct a computing system to:receive estimated positive structural dip values or estimated negativestructural dip values determined using volumetric seismic data and astructural dip estimation technique; for reception of estimated positivestructural dip values, calculate interpolated negative dip values basedon the estimated positive structural dip values or, for reception ofestimated negative structural dip values, calculate interpolatedpositive dip values based on the estimated negative structural dipvalues; and render the interpolated negative dip values or theinterpolated positive dip values to a display.

As an example, one or more computer-readable storage media can includecomputer-executable instructions to instruct a computing system to:calculate curl values for a dip field defined by interpolated negativedip values or interpolated positive dip values; and render the curlvalues to the display.

As an example, one or more computer-readable storage media can includecomputer-executable instructions to instruct a computing system to:receive estimated positive structural dip values and estimated negativestructural dip values determined using volumetric seismic data and astructural dip estimation technique (e.g. Taylor series expansion,etc.); calculate interpolated positive dip values based on the estimatednegative structural dip values; calculate interpolated negative dipvalues based on the estimated positive structural dip values; calculatepositive dip difference values between the interpolated positive dipvalues and the received positive dip values; calculate negativedifference values between the interpolated negative dip values and thereceived negative dip values; and render to the display the positive dipdifference values, the negative dip difference values or the positivedip difference values and the negative dip difference values.

FIG. 14 shows components of an example of a computing system 1400 and anexample of a networked system 1410. The system 1400 includes one or moreprocessors 1402, memory and/or storage components 1404, one or moreinput and/or output devices 1406 and a bus 1408. In an exampleembodiment, instructions may be stored in one or more computer-readablemedia (e.g., memory/storage components 1404). Such instructions may beread by one or more processors (e.g., the processor(s) 1402) via acommunication bus (e.g., the bus 1408), which may be wired or wireless.The one or more processors may execute such instructions to implement(wholly or in part) one or more attributes (e.g., as part of a method).A user may view output from and interact with a process via an I/Odevice (e.g., the device 1406). In an example embodiment, acomputer-readable medium may be a storage component such as a physicalmemory storage device, for example, a chip, a chip on a package, amemory card, etc. (e.g., a computer-readable storage medium).

In an example embodiment, components may be distributed, such as in thenetwork system 1410. The network system 1410 includes components 1422-1,1422-2, 1422-3, . . . 1422-N. For example, the components 1422-1 mayinclude the processor(s) 1402 while the component(s) 1422-3 may includememory accessible by the processor(s) 1402. Further, the component(s)1402-2 may include an I/O device for display and optionally interactionwith a method. The network may be or include the Internet, an intranet,a cellular network, a satellite network, etc.

Although a few example embodiments have been described in detail above,those skilled in the art will readily appreciate that many modificationsare possible in the example embodiments without materially departingfrom the embodiments of the present disclosure. Accordingly, suchmodifications are intended to be included within the scope of thisdisclosure as defined in the following claims. In the claims,means-plus-function clauses are intended to cover the structuresdescribed herein as performing the recited function and not juststructural equivalents, but also equivalent structures. Thus, although anail and a screw may not be structural equivalents in that a nailemploys a cylindrical surface to secure wooden parts together, whereas ascrew employs a helical surface, in the environment of fastening woodenparts, a nail and a screw may be equivalent structures. It is theexpress intention of the applicant not to invoke 35 U.S.C. §112,paragraph 6 for any limitations of any of the claims herein, except forthose in which the claim expressly uses the words “means for” togetherwith an associated function.

What is claimed is:
 1. A method comprising: receiving a request for adip value for a location within a sub-surface volume; responsive to therequest, locating complimentary dip values for locations within thesub-surface volume wherein the location for the requested dip value lieswithin bounds defined by the locations for the complimentary dip values;and interpolating a value for the requested dip value based on thecomplimentary dip values.
 2. The method of claim 1 wherein the receivingreceives a request for a positive dip value and wherein the locatinglocates negative dip values as complimentary dip values.
 3. The methodof claim 1 wherein the receiving receives a request for a negative dipvalue and wherein the locating locates positive dip values ascomplimentary dip values.
 4. The method of claim 1 wherein the locatingcomprises accessing a data set that comprises negative inline dipvalues, negative crossline dip values and uncertainty values for thesub-surface volume.
 5. The method of claim 1 wherein the locatingcomprises accessing a data set that comprises positive inline dipvalues, positive crossline dip values and uncertainty values for thesub-surface volume.
 6. The method of claim 1 comprising performing apath analysis for the location of the requested dip value using at leasttwo paths within the sub-surface volume.
 7. The method of claim 6wherein the path analysis determines if path invariance exists for thelocation of the requested dip value based on curl of a dip field.
 8. Themethod of claim 1 comprising repeating the method for one or moreadditional requests for dip values for different locations within thesub-surface volume.
 9. The method of claim 1 comprising providing a dipmodel derived from seismic data using a Taylor series expansiontechnique.
 10. A system comprising: one or more processors; memory; andinstructions stored in the memory and executable by at least one of theone or more processors to instruct the system to responsive to a requestfor a dip value for a location within a sub-surface volume, locatecomplimentary dip values for locations within the sub-surface volumewherein the location for the requested dip value lies within boundsdefined by the locations for the complimentary dips values, andinterpolate a value for the requested dip value based on thecomplimentary dip values.
 11. The system of claim 10 comprisinginstructions stored in the memory and executable by at least one of theone or more processors to instruct the system to: calculate pathattribute values for locations within the sub-surface volume wherein thepath attribute values represent curl of a dip field within thesub-surface volume.
 12. The system of claim 10 comprising instructionsstored in the memory and executable by at least one of the one or moreprocessors to instruct the system to: compare the interpolated value forthe requested dip value to a dip value determined based on seismic dataand a Taylor series expansion.
 13. The system of claim 10 comprisinginstructions stored in the memory and executable by at least one of theone or more processors to instruct the system to: calculate differenceattribute values based on differences between interpolated values anddip values determined based on seismic data and a Taylor seriesexpansion.
 14. The system of claim 10 comprising instructions stored inthe memory and executable by at least one of the one or more processorsto instruct the system to: access a data set that comprises at leastpositive dip values or at least negative dip values for the sub-surfacevolume.
 15. The system of claim 10 comprising instructions stored in thememory and executable by at least one of the one or more processors toinstruct the system to: calculate derivative attribute values for a dipfield within the sub-surface volume wherein the derivative attributevalues represent vertical smoothness of the dip field.
 16. The system ofclaim 10 comprising instructions stored in the memory and executable byat least one of the one or more processors to instruct the system to:calculate a quality control attribute based at least in part oninterpolated dip values wherein the quality control attribute indicatesquality of regional dip field values for calculating interpolated dipvalues.
 17. The system of claim 16 wherein the quality control attributethat indicates quality of regional dip field values for calculatinginterpolated dip values indicates regional chaos.
 18. One or morecomputer-readable storage media comprising computer-executableinstructions to instruct a computing system to: receive estimatedpositive structural dip values or estimated negative structural dipvalues determined using volumetric seismic data and a structural dipestimation technique; for reception of estimated positive structural dipvalues, calculate interpolated negative dip values based on theestimated positive structural dip values or, for reception of estimatednegative structural dip values, calculate interpolated positive dipvalues based on the estimated negative structural dip values; and renderthe interpolated negative dip values or the interpolated positive dipvalues to a display.
 19. The one or more computer-readable storage mediaof claim 18 comprising computer-executable instructions to instruct acomputing system to: calculate curl values for a dip field defined bythe interpolated negative dip values or the interpolated positive dipvalues; and render the curl values to the display.
 20. The one or morecomputer-readable storage media of claim 18 comprisingcomputer-executable instructions to instruct a computing system to:receive estimated positive structural dip values and estimated negativestructural dip values determined using volumetric seismic data and astructural dip estimation technique; calculate interpolated positive dipvalues based on the estimated negative structural dip values; calculateinterpolated negative dip values based on the estimated positivestructural dip values; calculate positive dip difference values betweenthe interpolated positive dip values and the received positive dipvalues; calculate negative difference values between the interpolatednegative dip values and the received negative dip values; and render tothe display the positive dip difference values, the negative dipdifference values or the positive dip difference values and the negativedip difference values.